package Herramientas;

import CalendarioDTOS.RegistrosDiaDTO;
import PuntoVentaDTOS.ArticuloVentaDTO;
import PuntoVentaDTOS.LogDTO;
import PuntoVentaDTOS.PerfilArticuloDTO;
import SistemaDTOS.MenuItemDTO;
import SistemaDTOS.UsersDTO;
import SistemaDTOS.UsersDataDTO;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ResultSets {

    public UsersDTO usersDTO(ResultSet rs) throws SQLException {
        UsersDTO user = new UsersDTO();
        user.setId(rs.getInt("id"));
        user.setName(rs.getString("name"));
        user.setPass(rs.getString("pass"));
        user.setEmail(rs.getString("email"));
        user.setNivelSeguridad(rs.getInt("nivel_seguridad"));
        user.setEstado(rs.getInt("estado"));

        return user;
    }

    public RegistrosDiaDTO registrosDiaDTO(ResultSet rst) throws SQLException {
        RegistrosDiaDTO r = new RegistrosDiaDTO();
        r.setId(rst.getInt("id"));
        r.setUserId(rst.getInt("user_id"));
        r.setFechaEvento(rst.getString("fecha_evento"));
        r.setHoraEventoInicio(rst.getString("hora_evento_inicio"));
        r.setHoraEventoFin(rst.getString("hora_evento_fin"));
        r.setDescripcion(rst.getString("descripcion"));

        return r;
    }

    public MenuItemDTO menuItemDTO(ResultSet rst) throws SQLException {
        MenuItemDTO m = new MenuItemDTO();
        m.setId(rst.getInt("id"));
        m.setIdCategoria(rst.getInt("id_categoria"));
        m.setIdPertnece(rst.getInt("id_pertenece"));
        m.setNivelSeguridad(rst.getInt("nivel_seguridad"));
        m.setNumeroServicio(rst.getInt("numero_servicio"));
        m.setTitulo(rst.getString("titulo"));
        m.setUrl(rst.getString("url"));

        return m;
    }

    public UsersDataDTO usersDataDTO(ResultSet rst) throws SQLException {
        UsersDataDTO u = new UsersDataDTO();
        String sql = new String();
        u.setId(rst.getInt("id"));
        u.setIdUser(rst.getInt("id_user"));
        u.setNombre(rst.getString("nombre"));
        u.setApMaterno(rst.getString("apmat"));
        u.setApPaterno(rst.getString("appat"));
        u.setDireccion(rst.getString("domicilio"));
        u.setCelular(rst.getString("celular"));
        u.setMail(rst.getString("email"));
        // FALTA FECHA  DE NACIEMITNO
        return u;
    }

    public ArticuloVentaDTO articuloVentaDTO(ResultSet r) throws SQLException {
        ArticuloVentaDTO art = new ArticuloVentaDTO();
        art.setId(r.getInt("id"));
        art.setCb(r.getString("cb"));
        art.setDescripcion(r.getString("descripcion"));
        art.setPrecioPublico(r.getDouble("precio_publico"));
        art.setCantidad(r.getDouble("cantidad"));
        art.setSubTotal(r.getDouble("sub_total"));
        art.setUsuarioCaja(r.getInt("usuario_caja"));
        return art;
    }

    public PerfilArticuloDTO perfilArticuloDTO(ResultSet r) throws SQLException {
        PerfilArticuloDTO a = new PerfilArticuloDTO();
        a.setCb(r.getString("cb"));
        a.setDescripcion(r.getString("descripcion"));
        a.setId_um(r.getInt("id_um"));
        a.setUm(r.getString("um"));
        //a.setId_proveedor(r.getInt("id_proveedor"));
        a.setRazon_social_proveedor(r.getString("razon_social_proveedor"));
        a.setExistencia_neta(r.getDouble("existencia_neta"));
        a.setCostoUnitario(r.getDouble("costo_unitario"));
        a.setPrecioPublico(r.getDouble("precio_publico"));
        a.setUbicacionFisica(r.getString("ubicacion_fisica"));
        a.setTipo(r.getInt("tipo"));
        return a;
    }

    public LogDTO logDTO(ResultSet r) throws SQLException {
        LogDTO e = new LogDTO();
        e.setId(r.getInt("id"));
        e.setCb(r.getString("cb"));
        e.setEventoBandera(r.getInt("evento"));
        e.setCantidad(r.getDouble("cantidad"));
        e.setFecha(r.getString("fecha"));
        // LIMITANDO EL FORMATO DE LA HORA A: HH:MM
        Herramientas herramienta = new Herramientas();
        //e.setHora(herramienta.horaFormatoHHMM(r.getString("hora")));
        // LIMITANDO EL FORMATO DE LA HORA A: HH:MM
        return e;
    }
}
